1. Field of the Invention
The present invention relates to the movement of a marker across an electronic display. More particularly, the present invention relates to varying the rate of marker movement across the electronic display. Still more particularly, the invention relates to varying the rate of marker movement along the displayed waveform of an oscilloscope.
2. Statement of the Problem
Electronic displays are used to display processed information to a user. For example, a computer running a word processor application shows the text that a user has entered into a document on a display. Typically, the position of a marker, such as a cursor, on the display indicates a specific point in the displayed information. In the text file example, the cursor indicates the position where a user is currently working. The marker simplifies the display by allowing the user to focus on a particular portion of the displayed information. Input devices, such as keys on a keyboard or a mouse, allow the user to move a cursor across the screen. The rate of cursor movement is responsive to input commands and is determined by a speed parameter in the software controlling the display. For example, on a typical computer display, the movement of the cursor responsive to a movement of the mouse is determined by a mouse setup file containing a cursor speed parameter.
Generally, the rate of marker movement responsive to an input is uniform with respect to both the input and displayed information. The uniform marker movement presents problems. A display may have some areas with very dense displayed information and other areas with sparse amounts of displayed information. Uniform movement with respect to an input causes great difficulty in moving a cursor to an exact point of the displayed information, while uniform movement with respect to the displayed information causes the cursor to not move to some positions on the display. The result of these problems is that the user does not have fine control over the marker movement to adequately investigate the displayed information.
One type of display where uniform cursor movement is a particular problem is a display on a digital oscilloscope. Oscilloscopes are signal analysis display devices. Typically, an oscilloscope displays the amplitude of a signal with respect to time from a trigger event. The display is usually in the form of a waveform with the amplitude on the y-axis and the time on the x-axis. A marker, conventionally called a cursor, moves across the waveform to indicate the signal amplitude at a specific time. A user studying a pulse waveform is typically concerned only with the leading and trailing waveform edges. The leading and trailing waveform edges represent portions of the waveform where the amplitude of the signal is changing significantly with respect to time. The flat portions of the waveform do not concern most users, since these portions represent little change in the amplitude with respect to time.
The leading and trailing waveform edges represent a small duration compared to the time of the overall waveform. Flat waveform portions typically last for a significantly longer duration of time than the critical waveform edges. A cursor moving across a waveform in uniform increments is not satisfactory to a user. If the cursor moves in increments small enough for the user to adequately examine the waveform edges, the cursor will not traverse the non-critical area in an acceptable amount of time. Conversely, if the cursor moves in large enough uniform increments to quickly traverse the flat portions, the user will not be able to study the leading and trailing edges with the desired degree of detail. For example, an edge of the waveform may last on the order of nanoseconds, while a flat portion may be of a duration on the order of microseconds. A cursor moving in uniform increments of nanoseconds would have a sufficient granularity to study the edges, however, the cursor would move through the flat portion for a very long period. A larger increment may cause the cursor to not be positioned along the waveform edge. Thus conventional cursor movement systems either miss significant features on the display or waste user time by displaying insignificant features.
Another problem that arises is the viewing of particular points of interest of a display. Some displays contain information that is not readily apparent from a plain viewing of the display. For example, the waveform display of an oscilloscope has 10%, 50%, and 90% threshold values along the waveform edges. A user viewing the waveform cannot discern these values with a high degree of accuracy. However, the user may desire to view these critical values since the values are used to calculate rise-time, fall-time, and frequency of the signal. Conventional cursor movement systems have no way to ensure that these points will be displayed to a user.
Typically, a processor reads input commands from an input device at uniform time intervals. The display of the marker movement sometimes lags behind the receiving of the input commands. Human response characteristics often result in the user commanding the marker to pass the desired position before the user can react and halt the input commands. A cursor system that ensures that a user views the marker at the desired position before inputting commands to move the marker would be highly desirable.
The above problems limit the user's ability to study critical information on electronic displays. Therefore, systems are needed to move a marker across all the displayed information in a manner that gives the user an ability to analyze desired information in detail.
3. Solution to the Problem
The above and other problems are solved by the present invention. Like conventional marker movement systems, the present invention moves a marker across the screen responsive to user commands. Unlike conventional systems, the present invention varies, in real-time, either: 1) the time interval between marker movement increments, and/or 2) the distance interval over which a movement increment is made, and responsive to either: a) visual display information and the position of said cursor on said display in relation to said visual display information; and b) a sequence of input commands. Varying the marker movement across the screen responsive to the displayed information ensures the user views critical portions of the display in sufficient detail. Varying of the marker movement responsive to user commands, allows the user to determine what portions of the display are viewed in detail.
In a first embodiment, the interval between marker positions changes depending upon the portion of the displayed information where the marker is located. In another embodiment the marker moves directly to critical portions of the displayed information. A third embodiment varies the marker movement depending on the length of time that an input command has been active. A fourth embodiment interrupts the movement of the marker at detent values associated with the displayed information.
In the first embodiment, when an input command to move the marker is received, data representing the current marker position is compared to the displayed information. If the marker is in a critical portion of the display having a high density of information, the interval between marker positions is small. If the marker is in a non-critical portion of the display having a sparse amount of information, the interval between marker positions is large.
In the preferred embodiment, when a movement command is received, data representing the current marker position is used to determine a velocity profile. The velocity profile is used to vary the marker movement. An algorithm may be used to determine the velocity profile. Along critical portions of the display, the velocity profile creates small intervals between marker positions. Conversely, when the current marker position is in a non-critical portion of the display, the velocity profile creates a large interval between marker positions.
A preferred embodiment of the first embodiment operates in the context of a waveform display of a digital oscilloscope. Generally, users consider the leading and trailing edges of the waveform to be the critical portions of the display and consider the flat waveform portions to be the less critical portions of the display. Along the waveform edges, the cursor has a smaller interval between displayed positions to slow movement of the cursor. As the cursor moves along the flat waveform portions, the cursor has greater intervals between displayed positions to increase speed of the cursor movement along these waveform portions. The result of varying intervals between the positions is that the critical waveform edges are reviewed with fine granularity for detailed study, while the cursor moves along the non-critical, flat portions in an acceptable amount of time.
In the preferred embodiment, the marker movement is related to the slope of a waveform that the cursor is traversing. That is, the critical and non-critical portions of the waveform are identified by the differential of the amplitude with respect to time. Positions on the waveform edges have large differentials with respect to the flat portions of the waveform. Along the non-critical waveform portions, the differential approaches zero. The large difference between the differentials along the two waveform portions allows the critical and noncritical portions to be easily identified. The interval between positions is made proportional to the reciprocal of the differential. The reciprocal is mapped to a velocity profile. Care is taken to ensure that edges are not skipped over, by finding the minimum velocity between the current marker location and the new marker location.
A second embodiment detects the position of specified critical values, or points of interest, in the displayed information and moves the marker to the position of the detected points of interest. A preferred embodiment of the second embodiment operates in the context of a waveform display of signals received by a digital oscilloscope. Specified critical values, such as the 10% threshold of the third rising edge, are stored in a database. A signal is received and stored by the oscilloscope. Critical values that the marker is assigned to are then read from the database. The oscilloscope determines the waveform position of currently assigned critical values from the signal. The waveform position of the critical value is then saved to a memory as the marker location. When a move cursor command is received, each specified critical value is read from the database. The oscilloscope determines the waveform position of each specified critical value from the signal. The marker then moves from one critical value to the next and the new critical value that the marker is assigned to is stored to the database. This embodiment minimizes marker movement and ensures the user reviews only the critical values of the display. User time is not wasted by moving the marker through insignificant values in the displayed information. Another advantage is the positions of critical portions of the displayed information may not be recognizable to a user viewing the display, yet the marker moves to these positions with minimal effort. Additionally, the marker tracks its assigned critical value as the signal changes.
In an example of the third embodiment, the incremental movement of the marker depends on how long input commands have been received from an input device. The number of time uniform input commands are counted, and are used to determine the length of time the user has been operating the input device. The determined amount of time is then mapped to a velocity profile. Data representing the current marker position is then applied to the velocity profile to determine the next marker position.
In the third preferred embodiment of the invention, an oscilloscope moves the cursor in the following manner. An oscilloscope displays a waveform with a cursor indicating the amplitude with respect to a particular time. A user holds down an increment key or decrement key. A counter is incremented each time the key is scanned. The number of counts is multiplied by a keystroke rate to determine the length of time the key was depressed. The interval between marker positions increases as the duration of time the key was depressed increases. The present invention also solves the problem of lag time between displaying of the marker at the new position and the inputting of new movement commands.
A fourth embodiment interrupts the receiving of commands from input devices, when a marker reaches a specified detent value in the displayed information. Detent values are displayed positions where a user typically stops the marker to view the displayed information. The interruption of input commands halts the marker movement at the position of the detent value. A user has time to react to the detent value position and stop inputting commands. After the interruption, the user may resume moving the cursor by inputting commands. The interruption gives a user finer control of cursor movement by allowing the user to precisely stop the cursor at the detent points. Varying the marker movement responsive to detent values permits the user to more accurately control the marker movement.
Each of the above embodiments enhances the use of interactive electronic displays by changing the rate of marker movement across the screen.